//app.js

App({
  onLaunch: function () {

    wx.getSystemInfo({
      success: res => {

        //导航高度
        this.globalData.navHeight = res.statusBarHeight + 46;
      },
      fail(err) {
        console.log(err);
      }
    })
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
      wx.cloud.init({
        // env 参数说明：
        //   env 参数决定接下来小程序发起的云开发调用（wx.cloud.xxx）会默认请求到哪个云环境的资源
        //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
        //   如不填则使用默认环境（第一个创建的环境）
        env: this.globalData.env,
        traceUser: true,
      })
    }
    var that = this;
    //初始化购物车
    //    that.timer = setInterval(function () {
    //     that.scanCart(that)
    //  }, 5000);




    //分类获取
    const db = wx.cloud.database()

    db.collection('categories').orderBy('paixu', 'asc').get({
      success: res => {

        that.globalData.categories = res.data
        that.getGoods(0); //获取全品类商品


      },
      fail: err => {
        wx.showToast({
          icon: 'none',
          title: '查询记录失败'
        })
        console.error('[数据库] [获取全品类商品] 失败：', err)
      }
    })


  },
  timer: false,
  scanCart: function (that) {
    //我把购物车里面的数据都塞到了缓存里，取名cart,任何一项修改购物车的行为，都会先取购物车的缓存，在重新更新缓存里的购物车参数
    //购物车

    var cart = wx.getStorageSync("shopCarInfo");
    console.log(cart)
    //统计购物车商品的总数量
    if (cart) {
      var cartnumber = cart.shopNum; //0 购物车菜品的一共的数量

      if (cart.shopList && cart.shopList.length) { //判断购物车的数量个数，购物车如果为空就走else
        wx.setTabBarBadge({ //购物车不为空 ，给购物车的tabar右上角添加购物车数量标志
          index: 2, //标志添加位置
          text: "" + cartnumber + "" //通过编译，将购物车总数量放到这里
        })
      } else { //购物车为空
        wx.removeTabBarBadge({ //移除指定位置的tabbar右上角的标志
          index: 2,
        })
      }
    }
  },

  onShow(e) {

  },

  sendTempleMsg: function (orderId, trigger, template_id, form_id, page, postJsonString, emphasis_keyword) {
    var that = this;
    /*
    wx.request({
      url: 'https://api.it120.cc/' + that.globalData.subDomain + '/template-msg/put',
      method:'POST',
      header: {
        'content-type': 'application/x-www-form-urlencoded'
      },
      data: {
        token: wx.getStorageSync('token'), //登录接口返回的登录凭证
        type: 0, //0 小程序 1 服务号
        module: 'order', //所属模块：immediately 立即发送模板消息；order 所属订单模块
        business_id: orderId, //登录接口返回的登录凭证
        trigger: trigger, //module不为immediately时必填，代表对应的【订单】触发的状态
        template_id: template_id, //模板消息ID
        form_id: form_id, //type=0时必填，表单提交场景下，为 submit 事件带上的 formId；支付场景下，为本次支付的 prepay_id
        url: page, //小程序：点击模板卡片后的跳转页面，仅限本小程序内的页面。支持带参数,（示例index?foo=bar）；服务号：跳转的网页地址
        postJsonString: postJsonString, //模板消息内容
        emphasis_keyword: emphasis_keyword //小程序："keyword1.DATA" 模板需要放大的关键词，不填则默认无放大
      },
      success: (res) => {
       
      }
    })*/
  },
  //查询商品
  getGoods: function (categoryId) {

    if (categoryId == 0) {
      categoryId = "";
    }

    var that = this;
    const db = wx.cloud.database()
    const _ = db.command
    ////////////////
    wx.cloud.callFunction({
      name: 'crud',
      data: {
        db: "goods",
        type: "getall",
        data: "",
        indexKey: "",
        //库存大于0
        commandtype: [{
          type: 'gt',
          ziduan: 'stores',
          value: 0
        }],
        condition: {
          status: 1
        },

      },
      success: res => {

        if (res.result) {
          that.globalData.goods = []
          var goods = [];

          if (res.result.data.length == 0) {

            return;
          }
          var temp;
          let datas = res.result.data
          for (var i = 0; i < datas.length; i++) {
            temp = datas[i];

            temp.minPrice = temp.minPrice.toFixed(2);
            temp.originalPrice = temp.originalPrice.toFixed(2);

            goods.push(temp);
          }

          var goodsName = []; //获取全部商品名称，做为智能联想输入库
          for (let i = 0; i < goods.length; i++) {
            goodsName.push(goods[i].name);
          }
          that.globalData.goodsName = goodsName
          that.globalData.goods = goods
          //////////////////////////////////////////////////////////
          var categories = that.globalData.categories
          var goodsList = [],
            id,
            key,
            name,
            typeStr,
            goodsTemp = []
          for (let i = 0; i < categories.length; i++) {
            id = categories[i]._id;
            key = categories[i].key;
            name = categories[i].name;
            typeStr = categories[i].type;
            goodsTemp = [];
            for (let j = 0; j < goods.length; j++) {
              if (goods[j].categoryId == id) {
                goodsTemp.push(goods[j])
              }
            }
            if ((that.globalData.activeCategoryId == null) & (goodsTemp.length > 0)) {
              that.globalData.activeCategoryId = categories[i]._id
            }

            goodsList.push({
              'id': id,
              'key': key,
              'name': name,
              'type': typeStr,
              'goods': goodsTemp
            })

          }
          that.globalData.goodsList = goodsList
          that.globalData.onLoadStatus = true

        }

      },
      fail: err => {
        wx.showToast({
          icon: 'none',
          title: '查询记录失败'
        })
        console.error('[数据库] [查询记录] 失败：', err)
      }
    })



  },

  globalData: {
    env: 'cloud1-1gxqougqbcf9e3cf', //syksjw-7g3hyzyn99912491',
    page: 1, //初始加载商品时的页面号
    pageSize: 10, //初始加载时的商品数，设置为10000保证小商户能加载完全部商品
    categories: [],
    goods: [],
    hotGoods: [], //自定义热门搜索商品
    goodsName: [],
    goodsList: [],
    onLoadStatus: true,
    activeCategoryId: null,

    globalBGColor: '#00afb4',
    bgRed: 0,
    bgGreen: 175,
    bgBlue: 180,
    userInfo: null,
    subDomain: "tggtest", // 商城后台个性域名tgg
    version: "2.0.6",
    shareProfile: '  蘑菇云超市', // 首页转发的时候术语
    map_address: "",
    navHeight: 0,
    isnewUser: false, //是否新用户
    isManager: ""
  }
  // 根据自己需要修改下单时候的模板消息内容设置，可增加关闭订单、收货时候模板消息提醒
})